July 27, 2020
None-Primitive Data Structure(비단순 구조) : 단순한 데이터를 저장하는 구조가 아니라 여러 데이터를 목적에 맞게 효과적으로 저장하는 자료 구조
💡 일반적으로 Python 에서는 Array 보다 일반 List 가 더 많이 사용 되고 대부분의 경우 큰 차이가 없음으로 그냥 List 를 사용하면 됩니다. 사실 Python 에서는 List 가 Array 라고 생각하고 써도 무방합니다. 다만 엄밀히 말하자면 Array 와 List 는 다릅니다. 기능적으로는 거의 동일하지만 메모리 효율면에서는 Array 가 유리합니다. 다만 사용하기에는 List 가 훨씬 편합니다. (Python 에서 Array 를 사용하려면 import Array 모듈을 import 해서 사용해야 합니다.)
p.s Python 에서 Array 와 List 의 차이에 대한 더 자세한 정보는 이곳(영문🇺🇸)을 참조하세요.
Multi-dimentional Array (다중 차원 배열)
데이터에 순서가 있기 때문에
그리고 추가적으로 할당된 메모리 또한 순차적이어야 하며 이는 상대적으로 오래걸리는 명령이다.
100개의 메모리 공간 다 차서 100개를 추가해야 되는 경우
순차열적인 데이터를 저장할 때
Tuple Is Not For Every Language!
Python 은 tuple이 있고 JavaScript는 없습니다. 그렇다고
Python > JavaScript
는 아닙니다! 다만 JavaScript에서는 tuple을 굳이 따로 안만든것 뿐입니다. Tuple은 list와 너무 비슷하기 때문에 굳이 제공하지 않는 언어도 많습니다. JavaScript에서는 그냥 array를 사용해도 상관없습니다.
예를 들면 함수에서 리턴 값을 한 개 이상 리턴하고 싶을 경우 (ex. 지도 좌표)
Tuple을 사용하는 경우와 class/object 를 사용하는 경우를 비교
# Tuple을 사용하는 경우
[(1,2), (2,4)] // Array(List) 안의 Tuple
# Tuple을 안 쓰는 경우에는 class를 생성해야함
class cord:
def __init__(self, x, y):
self.x = x
self.y = y
배열을 쓰기에는 간단한 데이터들을 표현할 때 사용